/*
 * Copyright (C) 2009 2DAI
 *
 * Este programa es Software Libre; usted puede redistribuirlo
 * y/o modificarlo bajo los términos de la "GNU General Public
 * License" como lo publica la "FSF Free Software Foundation",
 * o (a su elección) de cualquier versión posterior.
 *
 * Este programa es distribuido con la esperanza de que le será
 * útil, pero SIN NINGUNA GARANTIA; incluso sin la garantía
 * implícita por el MERCADEO o EJERCICIO DE ALGUN PROPOSITO en
 * particular. Vea la "GNU General Public License" para más
 * detalles.
 *
 * Usted debe haber recibido una copia de la "GNU General Public
 * License" junto con este programa, si no, escriba a la "FSF
 * Free Software Foundation, Inc.", 59 Temple Place - Suite 330,
 * Boston, MA  02111-1307, USA.
 */
package data;

/**
 *
 * Author: Jorge Garrido Oval
 * Ejemplo de extensión de DataManager para mostrar como se implementa.
 */
public class EjemploManejoDatos extends DataManager {

    private String tabla = "ejemplo";

    public EjemploManejoDatos() {
        super();
        super.setTabla(tabla);
        requerir();
    }

    @Override
    public void guardar(Object o) {
        /**
        Objeto1 f = new Objeto();
        f = (Objeto1) o;
        getList().set(i, f);
        sql.conectar();
        sql.ejectarUpdate("UPDATE "+tabla+" " +
        "SET level="+f.getLevel()+"," +
        "name=\'"+f.getName()+"\'," +
        "beforeDays="+f.getBeforeDays()+"," +
        "date=\'"+f.getDate()+"\'," +
        "llama="+f.isCall()+"," +
        "complete="+f.isComplete()+"," +
        "observ="+f.getObserv()+"," +
        " WHERE id="+i);
        sql.desconectar();
         */
    }

    @Override
    public void insertar(Object o) {
        /**
        Objeto1 f = new Objeto();
        f = (Objeto1) o;
        getList().add(f);
        sql.conectar();
        sql.ejectarUpdate("INSERT INTO "+tabla+" (level,name,beforeDays,date,llama,complete,observ) " +
        "VALUES ("+f.getLevel()+",\'"+f.getName()+"\'" +
        ","+f.getBeforeDays()+",\'"+f.getDate()+"\'" +
        ","+f.isCall()+","+f.isComplete()+
        ",\'"+f.getObserv()+"\')");
        sql.desconectar();
         */
    }

    @Override
    public void eliminar(Object o) {
        /**
        Objeto1 f = new Objeto();
        f = (Objeto1) o;
        getList().remove(getList().get(i).getId()==f.getId());
        sql.conectar();
        sql.ejectarUpdate("DELETE FROM "+tabla+" " +
        "WHERE id=\'"+f.getId()+"\'");
        sql.desconectar();
         */
    }

    @Override
    public void crear(String tabla) {
        /**
        sql.conectar();
        sql.ejectarUpdate("CREATE TABLE "+tabla+" ("+
        "id int(10) unsigned NOT NULL auto_increment,"+
        "level int(11) NOT NULL default 0,"+
        "name varchar(100) NOT NULL,"+
        "beforeDays int(11) NOT NULL,"+
        "date date NOT NULL,"+
        "llama boolean NOT NULL default 0,"+
        "complete boolean NOT NULL,"+
        "observ text,"+
        "PRIMARY KEY  (id)"+
        ") ENGINE=innodb  DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;");
        sql.desconectar();
         */
    }

    @Override
    public void requerir() {
        /**
        try {
        sql.conectar();
        ResultSet rs = sql.ejecutarSelect("SELECT * FROM "+tabla);
        while (rs.next()) {
        Objeto1 f = new Objeto1();
        f.setId(rs.getInt(1));
        f.setLevel(rs.getInt(2));
        f.setName(rs.getString(3));
        f.setBeforeDays(rs.getInt(4));
        f.setDate(rs.getString(5));
        f.setCall(rs.getBoolean(6));
        f.setComplete(rs.getBoolean(7));
        f.setObserv(rs.getString(8));
        getList().add(f);
        }
        max=getList().size();
        } catch (SQLException ex) {
        Errors.creaError("ERROR: No se han podido conseguir los datos\n"+ex.getMessage());
        } finally {
        sql.desconectar();
        }
         */
    }
}
